/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.jaywalkable.vkeyboard.impl;

import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

import com.jaywalkable.vkeyboard.VKeyboardLayout;

/**
 * This class implements <code>VKeyboardLayout</code>. Any subclass of this class should add its own keyboard layouts to
 * the instance variable <code>layout</code>.
 * 
 * @author Rubel Ahammad
 */
public abstract class VKeyboardLayoutImpl implements VKeyboardLayout {

    /** Holds keyboard layout. */
    protected final Map<Character[], Character[]> layout = new HashMap<Character[], Character[]>();
    
    protected VKeyboardLayoutImpl() {
    }

    /**
     * Returns unmodifiable <code>Map</code> of keyboard layout.
     * 
     * @return Returns unmodifiable <code>Map</code> of keyboard layout.
     */
    public final Map<Character[], Character[]> getLayout() {
        return Collections.unmodifiableMap(layout);
    }
}
